import request from '@/utils/request'

// 登录函数
/**
 * @description: 登录函数
 * @param {*} data { mobile,password}
 * @return {*} promise
 */

// 1。形参：接收传入实参
// 2.逻辑
// 3.return值
export function login(data) {
  // return 是request函数的调用接口
  // 也就是说，return 的是request函数的返回值（promise对象）
  return request({
    url: '/sys/login',
    method: 'POST',
    data
  })
}

/**
 * @description: 获取用户资料
 * @param {*} token
 * @return {*}
 */
export function getUserInfo() {
  return request({
    url: '/sys/profile',
    method: 'post'
  })
}

/**
 * @description: 获取用户头像
 * @param {*} id 用户id
 * @return {*}
 */
export function getUserDetailById(id) {
  return request({
    url: `/sys/user/${id}`
  })
}

// 组件中的使用：
// 1.按需导入
// 2.login({ mobile,password}).then(res => console.log(res))

// 封装优点
// 1.语义化 代码即注释 看到函数就知道作用
// 2.复用性 多个业务进行复用时，哪里需要哪里导入
// 3.函数统一化 提高开发效率

// request和api关系
// 一对多 一：requestjs ， 多：api下所有的接口请求
// 例子：我们在拦截器中同一注入token，只要导入我封装的request进行接口请求封装
// 就会自动拥有token，不需要再单独写
